package demo

object MapDemo {

  //定长Map
  var m1 = Map("tom" -> 23, "jerry" -> 32)
  //变长Map
  var m2 = scala.collection.mutable.Map("tom" -> 23, "jerry" -> 32)
  //追加key value
  m2 += ("fuck"->11)

  //通过key获取value  key不存在会报错
  m2.apply("tom")
  m2("tom")

  //通过get()取value 返回值为Option
  //option有两个子类 Some  和   None
  //key存在返回Some  不存在返回None
  m2.get("tom")

  //如果key不存在 ，则返回 10
  m2.get("tom").getOrElse(10)

  //返回所有keys
  m2.keys

  //过滤
  m2.filter{case(_,v) => v>20}

  //人名不变，年龄加1
  m2.map{case(k,v) =>(k,v+1)}

  //只对value做映射，key不变时可以用mapValues
  m2.mapValues(x => x+1)

}
